1. Field of the Invention
The present invention relates to an event proxy notification apparatus that acts as proxy to provide an event notification, and a method of controlling the same and a program for the same.
2. Description of the Related Art
A variety of devices have become networked with the progress in network technologies, so that various sorts of network-capable hardware, besides conventional personal computers (hereinafter referred to as PCs), have been developed. As a result, devices ranging from image forming devices such as a printer to home electrical products have rapidly been made network-capable. Due to this diversity of types of devices existing in networks, software and techniques for improving the convenience and simplicity in using such devices have become important.
For example, software for discovering a device that provides a desired service, and software for detecting events, including a processing status of a requested job and a status change such as an update of configuration information, are known. One example is a standard technique called WSD (Web Service on Devices). WSD uses WS-Discovery in searching a network for a device. WSD also uses WS-Eventing as a technique for providing notifications of events such as a processing status of a job, an error status, and an update of configuration information. Such techniques allow discovery of various devices existing in a network, as well as real-time recognition of device statuses, providing for the efficient use of available printers and quick and smooth troubleshooting on the occurrence of a failure.
As a trend in these days, networks become larger and an increasing number of client devices exist in a network. If the number of client devices that use events is enormous due to an increased-scale network, a heavy load is imposed on an apparatus that provides event notifications (hereinafter referred to as an event notification apparatus) such as an image forming device. For an event notification protocol like WS-Eventing, a client device such as a PC has to perform registration for requesting notification of events (hereinafter referred to as event registration) in advance with the event notification apparatus. On the occurrence of an event, the event notification apparatus has to provide a notification of the event to all client devices that have performed the event registration. Among such events, events related to status changes involved in executing a job include events such as the start of the job, a progress of the job, the completion of the job, and an error. To provide notifications of the occurrence of these events to all the client devices that have performed the event registration, network connections need to be secured one by one for each client device, which is a process imposing an extremely heavy load. This has caused inconveniences such as a significant reduction in performance of job execution in the event notification apparatus.
To solve such inconveniences, in Japanese Patent Laid-Open No. 2008-097582, the load on an event notification apparatus is reduced by increasing an event monitoring interval in the event notification apparatus to reduce the frequency of occurrences of event notification processes depending on the number of client devices to be notified of events. According to this technique described in Japanese Patent Laid-Open No. 2008-097582, the load on the event notification apparatus can be reduced. However, since the event monitoring interval is increased in the event notification apparatus, the client devices cannot be notified of all events when events occur at short intervals.
In Japanese Patent Laid-Open No. 2008-059483, the load on an event notification apparatus is reduced by providing an event notification only to client devices ready to perform an event reception process and thereby eliminating unnecessary event notification processes. According to this technique described in Japanese Patent Laid-Open No. 2008-059483, the load on the event notification apparatus can be reduced. However, if many client devices are ready to perform the event reception process, the load on the event notification apparatus is not reduced.
In Japanese Patent Laid-Open No. 2007-293503, at the time of event registration, a client device specifies a transmission protocol for use in event notification. Depending on the number of client devices registered as event notification destinations, event registration is rejected if a transmission protocol involving a heavy processing load such as TCP is specified. According to this technique described in Japanese Patent Laid-Open No. 2007-293503, the load on the event notification apparatus can be reduced. However, the number of client devices as event notification destinations is limited.